import {
	mapState,
	mapGetters,
	mapMutations,
	mapActions
} from 'vuex';
export default {
	data() {
		return {
			//https://picsum.photos/50/50?id=
		}
	},
	computed: {
		// ...mapState(['userInfo', 'appInfo', 'answerType']),
	},

	methods: {
		// ...mapMutations(['setUser', 'setAnswerType']),
		// ...mapActions(['init', 'getUser']),
		// 获取当前位置授权信息
		getnowLocation() {
			uni.authorize({
				scope: 'scope.userLocation',
				success: () => {
					// 授权成功
					// 获取当前位置
					uni.getLocation({
						type: 'wgs84',
						success: (req) => {
							// this.getanalysisaddress(req.latitude, req.longitude)
						},
						fail: (err) => {
							console.log(err)
							uni.showToast({
								title: '获取位置失败',
								icon: 'none'
							})
						}
					})
				},
				fail: () => {
					// 授权失败
					uni.showModal({
						title: '提示',
						content: '需要授权位置信息',
						success: (res) => {
							if (res.confirm) {
								uni.openSetting({
									success: (res) => {
										// console.log(res.authSetting)
									}
								})
							} else if (res.cancel) {
								// console.log('用户点击取消')
							}
						}
					})
				}
			})
		},
		openLocation(latitude, longitude) {
			uni.openLocation({
				latitude: Number(latitude),
				longitude: Number(longitude),
				success: function() {
					console.log('success');
				},
				fail: err => {
					console.log(err, "err")
				}
			});
		},
		highlight(str) {
			return str.replace(/湖北/g, '<text style="color: red;">湖北</text>');
		},
		// 查看附件
		downLoadFile(file) {
			// 1. 显示加载提示
			uni.showLoading({
				title: '下载中...'
			});

			uni.downloadFile({
				url: file,
				timeout: 30000, // 超时时间（30秒），避免无限等待
				success: (res) => {
					console.log('下载响应：', res);
					// 2. 关键：判断状态码，200 才是真正下载成功
					if (res.statusCode === 200) {
						uni.openDocument({
							filePath: res.tempFilePath,
							showMenu: true,
							success: (openRes) => {
								console.log('打开文件成功：', openRes);
							},
							fail: (openErr) => {
								console.error('打开文件失败：', openErr);
								uni.$u.toast(`打开文件失败：${openErr.errMsg}`);
							}
						});
						// uni.saveFile({
						// 	tempFilePath: res.tempFilePath,
						// 	success: (saveRes) => {
						// 		console.log('保存成功：', saveRes);
						// 		uni.hideLoading();
						// 		// 提示保存路径（仅告知用户，小程序端无法直接打开）
						// 		uni.$u.toast(`下载成功，保存路径：${saveRes.savedFilePath}`);
						// 		// 保存路径，可用于后续打开文件
						// 		const savedFilePath = saveRes.savedFilePath;

						// 	},
						// 	fail: (saveErr) => {
						// 		console.error('保存失败：', saveErr);
						// 		uni.hideLoading();
						// 		uni.$u.toast(`保存失败：${saveErr.errMsg}`);
						// 	}
						// });
					} else {
						// 非 200 状态码（如 404/500）
						uni.hideLoading();
						uni.$u.toast(`下载失败：服务器返回 ${res.statusCode}`);
					}
				},
				// 3. 新增：下载失败回调（捕获网络错误、域名未配置等）
				fail: (downloadErr) => {
					console.error('下载失败：', downloadErr);
					uni.hideLoading();
					// 区分错误类型，给出明确提示
					let errMsg = downloadErr.errMsg || '未知错误';
					if (errMsg.includes('downloadFile:fail url not in domain list')) {
						errMsg = '下载域名未配置，请联系管理员';
					} else if (errMsg.includes('timeout')) {
						errMsg = '下载超时，请检查网络';
					}
					uni.$u.toast(`下载失败：${errMsg}`);
				},
				// 4. 新增：无论成功失败，都关闭加载提示
				complete: () => {
					if (uni.showLoading) {
						uni.hideLoading();
					}
				}
			});
		},
	}
}